What Are Shaders?

Rendering is what programmers call the process of generating an image, and Shaders are short programs that render graphics data.

That is, a Shader is a program that takes meshes, textures etc. as the input and generates an image as the output.

How computers render graphics

Understanding Types of Shaders

Pixel Shader, named for the obvious reason that it outputs a pixel.

Fragment Shader, since each pixel is a fragment of the full image.

Vertex Shaders, which you use to compute the position of vertices in the image. 

Compute Shaders don’t actually render anything, but are simply programs that run on video hardware

Surface Shader, that do lighting calculations for you, and you only need to write code – remember, a Shader is a program – to handle other surface properties, like color and texture. Surface Shaders are really Fragment and Vertex Shaders under the hood, but Unity generates code to handle lighting

How to create a Surface Shader asset